Move from hammer to docopt for option parsing
authorAlex Crichton <alex@alexcrichton.com>
Thu, 24 Jul 2014 19:43:10 +0000 (12:43 -0700)
committerAlex Crichton <alex@alexcrichton.com>
Mon, 28 Jul 2014 20:37:19 +0000 (13:37 -0700)
commitba273af5640cd50b64a1f69fd14697fbf6d6b46f
tree6b5b48677c2f2cc2717d73b2014df12f5fc7f3fe
parent6e5abd64883a2cfe0a1d7913c375194a0d862844
Move from hammer to docopt for option parsing

The hammer library currently has some shortcomings such as the inability to
document individual options. Additionally our handling with hammer of extra
arguments is dodgy at best currently.

This commit moves the repository to BurntSushi's docopt.rs library which seems
to more feature-complete at this time. Additionally, docopt has the great
benefit of a "document once, use everywhere" documentation strategy.

This migration solves two primary issues:

* Comprehensive and useful CLI documentation
* Gracefully handling flavorful combinations of arguments in odd combinations

Closes #218
18 files changed:
Cargo.toml
src/bin/cargo-build.rs
src/bin/cargo-clean.rs
src/bin/cargo-doc.rs
src/bin/cargo-git-checkout.rs
src/bin/cargo-new.rs
src/bin/cargo-read-manifest.rs
src/bin/cargo-run.rs
src/bin/cargo-rustc.rs
src/bin/cargo-test.rs
src/bin/cargo-version.rs
src/bin/cargo.rs
src/cargo/core/shell.rs
src/cargo/lib.rs
src/cargo/ops/cargo_rustc/context.rs
src/cargo/util/errors.rs
src/etc/install.sh
tests/test_cargo_new.rs